// i.d(t, { Y: () => Module })

import EngineContext from "../EngineContext"
import Logger from "../utils/Logger"
import { Subscription } from "../utils/Subscription"
export default class Module {
  bindings: Partial<Subscription>[]
  log: Logger
  name: string

  constructor(...e) {
    this.bindings = []
    this.log = new Logger("module")
  }
  init(e: any, t: EngineContext) {
    return Promise.resolve()
  }
  onUpdate(e) {}
  dispose(e) {
    for (const e of this.bindings) e.cancel()
    this.bindings = []
  }
}
